1. Technical Field
An embodiment of the present invention generally relates to detecting edges of an image. More particularly, an embodiment of the present invention relates to extracting a scene structure using a gradient runs analysis.
2. Discussion of the Related Art
The concept of coding digital images with runs dates back to the beginning of computer vision. A digital image may comprise sequences of equal intensity pixels adjacent in a row/column, and the edges of objects in the image must somehow be detected in order to properly reproduce the image electronically. For example, a binary runs representation of a binary image, wherein the relationship between binary runs is analyzed, is often used for image compression, enumeration and extraction of connected components, and for generating image structural descriptions using graphs. Building contours of connected components based on a binary runs analysis may enable multilevel image analysis in real-time.
On the other hand, an edge-detecting algorithm may use image gradients to determine the edges of an object within an image. For purposes of illustration, the notion of a binary run in an image may be generalized as a group of adjacent pixels having the same properties. For example, segments of a piecewise-linear approximation of a row/column of a grayscale image are known as a gradient run. According to this technique, steep gradient runs characterize object borders in an image. Consequently, the object borders may be tracked by using the relation of gradient runs in adjacent rows/columns.
In order to track all the edges in an image, it is necessary to be able to combine the row runs information and the column runs information. While the relationship between binary runs may be used to track the borders of an object within a binary image, the complexity of an edge-detecting algorithm required to incorporate the relationship between gradient runs relating to a gray scale image has thus far prevented the development of such an algorithm.
Furthermore, some edge detection techniques require that a neighborhood of pixels be explored in order to obtain image edges. This technique substantially burdens the cache in a processor, for example.